This invention relates to logical data shuffling among a plurality of processing nodes. More specifically, the invention pertains to logically arranging and rotating the nodes, and exchanging data in response to the logical rotation.
Communication is the limiter in most parallel computing systems. Specifically, in parallel processes, a phase exists where data needs to be communicated among processing nodes. This communication of data relies on capacity of switches. Data shuffling is a process of moving data among processing nodes so that the data will be in a specific location for processing. For example, data shuffling is common in database applications to support database operations such as joins, group-by, building indexes, clustering data prior to load, etc., and in map-reduce to send data from mapper nodes to reducer nodes. However, physically moving processing nodes presents challenges, both electrically and mechanically, and of course creates inefficiency.